package com.ruoyi.electricity.service;

import com.ruoyi.electricity.domain.DTO.DataStatusCount;
import com.ruoyi.electricity.domain.DTO.StatusCount;
import com.ruoyi.electricity.domain.TDataGatewaySystem;

import java.util.Date;
import java.util.List;


/**
 * 网关数据系统Service接口
 * 
 * @author wu
 * @date 2023-10-28
 */
public interface ITDataGatewaySystemService 
{
    /**
     * 查询网关数据系统
     * 
     * @param id 网关数据系统ID
     * @return 网关数据系统
     */
    public TDataGatewaySystem selectTDataGatewaySystemById(Long id);

    /**
     * 查询网关数据系统列表
     * 
     * @param tDataGatewaySystem 网关数据系统
     * @return 网关数据系统集合
     */
    public List<TDataGatewaySystem> selectTDataGatewaySystemList(TDataGatewaySystem tDataGatewaySystem);

    /**
     * 新增网关数据系统
     * 
     * @param tDataGatewaySystem 网关数据系统
     * @return 结果
     */
    public int insertTDataGatewaySystem(TDataGatewaySystem tDataGatewaySystem);

    /**
     * 修改网关数据系统
     * 
     * @param tDataGatewaySystem 网关数据系统
     * @return 结果
     */
    public int updateTDataGatewaySystem(TDataGatewaySystem tDataGatewaySystem);

    /**
     * 批量删除网关数据系统
     * 
     * @param ids 需要删除的网关数据系统ID
     * @return 结果
     */
    public int deleteTDataGatewaySystemByIds(Long[] ids);

    /**
     * 删除网关数据系统信息
     * 
     * @param id 网关数据系统ID
     * @return 结果
     */
    public int deleteTDataGatewaySystemById(Long id);

    List<DataStatusCount> getDataStatusCount(Date startTime, Date endTime);

    List<StatusCount> getStatusCount(Date startTime, Date endTime);
}
